Import Data Set

Import Data Set

Show the code
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np

df = pd.read_csv('../data/historic_cleaned.csv')
#df.drop(columns=['Unnamed: 0'],inplace=True)

Display Summary Statistics of The Dataset

Show the code
df.describe()
long lat year treecanopy_percent Ann_Herb_percent Bare_percent Herb_percent Litter_percent Shrub_percent DrySoilDays_Summer_whole ... PPT_Winter PPT_Summer T_Winter T_Summer Tmax_Summer Tmin_Winter VWC_Winter_whole VWC_Spring_whole VWC_Summer_whole VWC_Fall_whole
count 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 ... 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000 4407.000000
mean -110.006345 37.608168 1999.000000 8.895274 0.223796 55.466142 9.217265 11.412204 8.895274 7.563876 ... 6.534697 7.477377 -0.114912 22.433525 35.909020 -15.539766 0.119381 0.109530 0.068327 0.093987
std 0.022618 0.016201 11.255906 7.836078 1.040234 19.097044 3.812657 6.042003 7.836078 20.904837 ... 3.446036 2.980412 1.407679 1.029859 1.335224 3.130615 0.037845 0.039645 0.018993 0.028630
min -110.047000 37.570000 1980.000000 0.000000 0.000000 9.910000 1.010000 1.053000 0.000000 0.000000 ... 1.830000 2.480000 -3.435000 19.555000 32.150000 -26.250000 0.033000 0.035000 0.030000 0.031000
25% -110.027000 37.598000 1989.000000 0.000000 0.000000 41.964000 7.368000 7.080000 0.000000 0.000000 ... 3.850000 5.710000 -1.218000 21.715000 34.950000 -17.250000 0.091000 0.079000 0.052000 0.074000
50% -110.006000 37.609000 1999.000000 8.108000 0.000000 54.310000 9.709000 9.677000 8.108000 0.000000 ... 6.150000 7.130000 -0.135000 22.327000 35.950000 -14.950000 0.119000 0.102000 0.067000 0.093000
75% -109.991000 37.622000 2009.000000 15.789000 0.000000 68.421000 10.989000 15.094000 15.789000 0.000000 ... 7.530000 9.480000 0.969000 23.207000 37.050000 -13.800000 0.144500 0.139000 0.083000 0.111000
max -109.966000 37.635000 2018.000000 26.126000 5.085000 97.895000 20.202000 28.235000 26.126000 89.000000 ... 17.270000 17.890000 3.393000 24.550000 38.550000 -9.350000 0.233000 0.215000 0.119000 0.205000

8 rows × 24 columns

Distribution of Vegetation Types

Show the code
# This code refers to https://matplotlib.org/stable/gallery/subplots_axes_and_figures/subplots_demo.html, which talks about subplots in python.
plt.figure(figsize=(14, 7))

plt.subplot(2, 3, 1)
sns.histplot(df['treecanopy_percent'], kde=True, bins=30)
plt.title('Tree Canopy Distribution')

plt.subplot(2, 3, 2)
sns.histplot(df['Ann_Herb_percent'], kde=True, bins=30)
plt.title('Annual Herbaceous Distribution')

plt.subplot(2, 3, 3)
sns.histplot(df['Bare_percent'], kde=True, bins=30)
plt.title('Bare Ground Distribution')

plt.subplot(2, 3, 4)
sns.histplot(df['Herb_percent'], kde=True, bins=30)
plt.title('Herbaceous Distribution')

plt.subplot(2, 3, 5)
sns.histplot(df['Litter_percent'], kde=True, bins=30)
plt.title('Litter Distribution')

plt.subplot(2, 3, 6)
sns.histplot(df['Shrub_percent'], kde=True, bins=30)
plt.title('Shrub Distribution')

plt.tight_layout()
plt.show()
/Users/modomodo/anaconda3/lib/python3.11/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.
  with pd.option_context('mode.use_inf_as_na', True):
/Users/modomodo/anaconda3/lib/python3.11/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.
  with pd.option_context('mode.use_inf_as_na', True):
/Users/modomodo/anaconda3/lib/python3.11/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.
  with pd.option_context('mode.use_inf_as_na', True):
/Users/modomodo/anaconda3/lib/python3.11/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.
  with pd.option_context('mode.use_inf_as_na', True):
/Users/modomodo/anaconda3/lib/python3.11/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.
  with pd.option_context('mode.use_inf_as_na', True):
/Users/modomodo/anaconda3/lib/python3.11/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.
  with pd.option_context('mode.use_inf_as_na', True):

Seasonal Climate Factors

Show the code
plt.figure(figsize=(14, 7))

plt.subplot(2, 2, 1)
sns.histplot(df['T_Winter'], kde=True, bins=30)
plt.title('Winter Temperature Distribution')

plt.subplot(2, 2, 2)
sns.histplot(df['T_Summer'], kde=True, bins=30)
plt.title('Summer Temperature Distribution')

plt.subplot(2, 2, 3)
sns.histplot(df['PPT_Winter'], kde=True, bins=30)
plt.title('Winter Precipitation Distribution')

plt.subplot(2, 2, 4)
sns.histplot(df['PPT_Summer'], kde=True, bins=30)
plt.title('Summer Precipitation Distribution')

plt.tight_layout()
plt.show()
/Users/modomodo/anaconda3/lib/python3.11/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.
  with pd.option_context('mode.use_inf_as_na', True):
/Users/modomodo/anaconda3/lib/python3.11/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.
  with pd.option_context('mode.use_inf_as_na', True):
/Users/modomodo/anaconda3/lib/python3.11/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.
  with pd.option_context('mode.use_inf_as_na', True):
/Users/modomodo/anaconda3/lib/python3.11/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.
  with pd.option_context('mode.use_inf_as_na', True):

Heat Map

Show the code
numeric_cols =df.select_dtypes(include=[np.number])

correlation_matrix = numeric_cols.corr()

plt.figure(figsize=(16, 10))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', linewidths=0.5)
plt.title('Correlation Matrix of Climate Factors and Vegetation Types')
plt.show()